// run: $exec < input
// opt: 0
// flag: -g
#include <iostream>
#include <iomanip>
#include <vector>
#include <unordered_set>

std::vector<std::unordered_set<int> > da;

int n, k;

int main()
{
	std::ios::sync_with_stdio(false);
	std::cin >> n;
	da.resize(n);
	for (int i = 0, tn; i < n; i++) {
		std::cin >> tn;
		for (int j = 0, x; j < tn; j++) {
			std::cin >> x;
			da[i].insert(x);
		}
	}
	std::cin >> k;
	for (int i = 0, x, y; i < k; i++) {
		std::cin >> x >> y;
		x--; y--;
		int all = da[y].size();
		for (std::unordered_set<int>::iterator it = da[x].begin(); it != da[x].end(); ++it)
			if (da[y].find(*it) == da[y].end()) all++;
		int count = 0;
		for (std::unordered_set<int>::iterator it = da[x].begin(); it != da[x].end(); ++it)
			if (da[y].find(*it) != da[y].end()) count++;
		std::cout << std::fixed << std::setprecision(2) <<
			double(count) * 100.0 / all << "%\n";
	}
}

